import { setupRouter } from '@/router'
import { setupPinia } from '@/stores'
import { setupAuthRoutes } from '@/router/modules/authRouts'
import Icon from '@/components/Icon/index.vue'
import { setupDirectives } from '@/directives/index'
import { setupElIcons } from '../../vite/plugins/el-icons'
import ElementPlus from 'element-plus'
import { setupI18n } from '@/lang'
import type { App } from 'vue'
export default {
  install(app: App<Element>) {
    app.use(ElementPlus)
    // 自定义指令
    setupDirectives(app)
    // 路由(router)
    setupRouter(app)
    // 状态管理(store)
    setupPinia(app)

    setupI18n(app)
    // 自定义icon
    app.component('Icon', Icon)
    setupElIcons(app)
    // 路由
    setupAuthRoutes()
  }
}
